/** 查询该文件是否上传，已上传，返回上传信息 / 初始化分片入参 */
export interface UploadFileInfoType{
  md5?: string,

  uploadId?: string,

  originFileName?: string,

  url?: string,

  object?: string,

  type?: string,

  size?: number,

  chunkCount?: number,

  chunkSize?: string,

  contentType?: string,

  // listParts 从 1 开始，前端需要上传的分片索引+1
  listParts?: number
}

/** 分片成功返回的分片地址，前端直接调用进行上传 */
export type UploadUrls = {
  uploadId: string
  urls: string[]
}

/** 表格数据类型 */
export type FileTableDataType = {
  uid: string
  name: string
  size: number
  unitSize: string
  md5: string
  md5Progress: number
  progress: number
  file: File
  chunkCount: number
  /** 当前文件分片集合 */
  chunkFileList: Blob[]
  /** 已上传的文件大小总和（计算进度条） */
  uploadedSize: number
  /** 计算MD5中（加载中） | 等待上传 | 上传中  | 上传成功 | 上传失败 */
  status: 'preparation' | 'preupload' | 'uploading' | 'success' | 'error'
}

/** 分片上传时的 file 和上传地址 url */
export type ChunkFileUrlType = {
  url: string
  file: Blob
}

export type Files={
  /**
   * 文件上传id
   */
  uploadId: string

  /**
   * 文件计算md5
   */
  md5: string

  /**
   * 文件访问地址
   */
  url: string

  /**
   * 存储桶
   */
  bucket: string

  /**
   * minio中文件名
   */
  object : string

  /**
   * 原始文件名
   */
  originFileName: string

  /**
   * 文件大小
   */
  size: number

  /**
   * 文件类型
   */
  type: string

  /**
   * 分片大小
   */
  chunkSize: string

  /**
   * 分片数量
   */
  chunkCount: number

  /**
   * 删除标志（0代表存在 1代表删除）
   */
  delFlag: string;

  /**
   * 创建部门
   */
  createDept: string
  /**
   * 创建时间
   */
  createTime: string
}




